// react + ts
// Props与Ts为事件prop添加类型

import type React from "react"

// 定义类型限制传参类型
type Props = {
  onGetMsg?: (msg: string) => void
}

// 限制Button组件接受哪些参数类型的传入
function Son(props: Props) {
  const {onGetMsg} = props
  const clickHandler = () => {
    onGetMsg?.('this is msg')
  }
  return <button onClick={clickHandler}>发送数据</button>
}

function App06() {

  const getMsgHandler = (msg: string) => {
    console.log(msg)
  }
  
  return (
    <>
      {/* 内联绑定 */}
      <Son onGetMsg={(msg) => console.log(msg)}/>
      <Son onGetMsg={getMsgHandler}/>
    </>
  )
}

export default App06
